<?php
/**
 * util actions.
 *
 * @package    Aceptor
 * @subpackage util
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class util_pagadoActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $load_file_aceptorrequest A request object
  */
  public function executeIndex(sfWebRequest $request)
  {

  }


  public function executeListado_archivos_cloud(sfWebRequest $request){
      
  }

public function executeLoad_file_aceptor(sfWebRequest $request)
{

    $this->setLayout(false);

    if(isset($_FILES['file'])){

         $img_tmp      = $_FILES['file']['tmp_name'];
         $img_tmp_size = $_FILES['file']['size'];
         $img_tmp_name = $_FILES['file']['name'];
         $var = '';
         $ruta=sfConfig::get('sf_upload_dir');

         $pk = $this->getUser()->getAttribute('ses_user_id');
   


       

          $estadoBean = $this->getUser()->getAttribute('ses_estado_cuenta_paquete',null);

          if(is_object($estadoBean) && $estadoBean->getValorActual()>0)
           {

              try{

                   $username = "grafilab";
                   $key = "5428d56bf36120fc2b5414393df70046";
                   $auth = new CF_Authentication($username, $key);
                   $auth->authenticate();
                   $conn = new CF_Connection($auth);
                   $container = $conn->get_container('AceptorFiles');

                   try{
                           $nameFile = $pk.'-'.time().'-'.$img_tmp_name;
                           $doc = $container->get_object($nameFile);
                           $this->code_error = '1003';
                           $this->img_tmp_rpt = false;
                    }catch (Exception $e){

                           $object = $container->create_object($nameFile);
                           $object->load_from_filename($img_tmp);
                           $var = 'success';
                           $this->img_tmp_size = $img_tmp_size;
                           $this->img_tmp_name = $img_tmp_name;
                           $this->file_name    = $nameFile;
                           $this->icon         = $this->returnIcon($img_tmp_name);
                           $this->code_error = '1001';
                           $this->img_tmp_rpt = true;
                   }

                }catch (Exception $e){
                   print_r($e);

                }


           }
           else
           {
                         $this->code_error   = '1004';
                         $this->img_tmp_rpt  = false;
                         return sfView::ERROR;
           }

        



     }

}


public function executeRemove_file(sfWebRequest $request)
{
     $name_file = $request->getParameter('name_file');
     $size_file = $request->getParameter('size_file');

     
     $pk = $this->getUser()->getAttribute('ses_user_id');
    

     try{
         $username = "grafilab";
         $key      = "5428d56bf36120fc2b5414393df70046";
         $auth = new CF_Authentication($username, $key);
         $auth->authenticate();
         $conn = new CF_Connection($auth);
         $container = $conn->get_container('AceptorFiles');
       
         try{
             /*********************************************/
             $doc = $container->get_object($name_file);
              /*********************************************/
             $container->delete_object($name_file);             
             /*validar si existe el archivo*/
             
             $this->code = '1001';
             $this->tmp_rpt = true;

        
          }catch (Exception $e){             
             $this->code = '1003';
             $this->tmp_rpt = false;
          }

       }catch (Exception $e){
               print_r($e);
        }


}

public function executeRegistrar_acuerdo(sfWebRequest $request)
{
      //Recupera Parametros
      $txta_acuerdo_texto = $request->getParameter('observaciones');
      $rad_acuerdo_aprobacion = $request->getParameter('aprobacion');
      $array_corredos =  $request->getParameter('list');
      $name_file_load =  $request->getParameter('name_file');

      //Validar datos
      $exito=2;
      $resultado = "";
      if($exito == 2 ){

          $obj_acuerdo = new TbAcuerdo();
          $obj_acuerdo->setCreadorId($this->getUser()->getAttribute('ses_user_id'));
          $obj_acuerdo->setNombre('');
          $obj_acuerdo->setTexto($txta_acuerdo_texto);
          $obj_acuerdo->setRespuesta($rad_acuerdo_aprobacion);
          $obj_acuerdo->setFechaRegistro(date('Y-m-j'));
          $obj_acuerdo->setHoraRegistro(date('g:i:s'));
          $obj_acuerdo->setFechaHoraRegistro(date('Y-m-d H:i:s'));
          $obj_acuerdo->setEstado('1');
          $obj_acuerdo->setTipoAcuerdo('2');
          $obj_acuerdo->save();
          
          $pk = $this->getUser()->getAttribute('ses_user_id');
          if($name_file_load!="null"){
           $obj_acuerdo->setPkFile($nameFile);
          }else{
           $obj_acuerdo->setPkFile("null");
          }

          $obj_acuerdo->save();

          $id_acuerdo = $obj_acuerdo->getId();
          $array_correos = array();
          $txt_acuerdo_cont_cor="";$item=0;
          $array_creator = array($txt_acuerdo_cont_cor,$item);
          $lib = new myLib();
          for ($i = 0; $i < count($array_corredos); $i++){
              $detalle_acuerdo_contacto = new TbDetalleAcuerdoContacto();
              $detalle_acuerdo_contacto->setAcuerdoId($id_acuerdo);
              $detalle_acuerdo_contacto->setCreadorId($this->getUser()->getAttribute('ses_user_id'));
              /*aca verifico si el correo esta almacenado en la bd*/
              $user_recorrido_for = $lib->obtener_usuario($array_corredos[$i]);
              if($user_recorrido_for!=null){
                $detalle_acuerdo_contacto->setUsuarioId($user_recorrido_for->getId());
                $detalle_acuerdo_contacto->setNombre($user_recorrido_for->getNombre());
                $detalle_acuerdo_contacto->setCorreo($user_recorrido_for->getCorreo());
              }else{
                $detalle_acuerdo_contacto->setNombre('');
                $detalle_acuerdo_contacto->setCorreo($array_corredos[$i]);
                $array_correos[] = $array_corredos[$i];
              }
              $detalle_acuerdo_contacto->setEstado('1');
              $detalle_acuerdo_contacto->save();
          }



        $obj_creator = TbUsuarioPeer::retrieveByPK($this->getUser()->getAttribute('ses_user_id'));
        $detalle_acuerdo_contacto = new TbDetalleAcuerdoContacto();
        $detalle_acuerdo_contacto->setAcuerdoId($id_acuerdo);
        $detalle_acuerdo_contacto->setCreadorId($this->getUser()->getAttribute('ses_user_id'));
        $detalle_acuerdo_contacto->setUsuarioId($obj_creator->getId());
        $detalle_acuerdo_contacto->setNombre($obj_creator->getNombre());
        $detalle_acuerdo_contacto->setCorreo($obj_creator->getCorreo());
        $detalle_acuerdo_contacto->setEstado('1');
        $detalle_acuerdo_contacto->save();

        $nombre_creator = $obj_creator->getNombre().' '.$obj_creator->getApePaterno();

        $lib = new myLib();
        $token   = $lib->return_token();
        $apikey = $lib->return_api_key();
        
       /* INICIO DE CORREO */
         for ($i = 0; $i < count($array_corredos); $i++){

                $message = $this->getMailer()->compose();
                $message->setSubject('ACEPTOR - Nuevo Acuerdo');
                $message->setTo($array_correos[$i]);
                $message->setFrom('no-reply@aceptor.com');
                $html = $this->getPartial('util/mensaje', array(
                    'nombre_creator'=>$nombre_creator,
                    'doc'=>'acuerdo',
                    'token'=>$token,
                    'mail'=>$array_correos[$i],
                    'apikey'=>$apikey,
                    'acuerdo_id'=>$id_acuerdo));
                $message->setBody($html, 'text/html');
                $this->getMailer()->send($message);
                
         }
    
       
        $this->tmp_rpt=true;
      }

  }


public function executeListar_acuerdo(sfWebRequest $request){

      $estado = $request->getParameter('rad_estado');

      $criteria = new Criteria();
      if($estado!=""){
          $criteria->add(TbAcuerdoPeer::ESTADO,$estado);
      }

      $criteria->add(TbDetalleAcuerdoContactoPeer::USUARIO_ID,$this->getUser()->getAttribute('ses_user_id'));
      $criteria->addJoin(TbAcuerdoPeer::ID,  TbDetalleAcuerdoContactoPeer::ACUERDO_ID);
      $criteria->addAscendingOrderByColumn(TbAcuerdoPeer::FECHA_HORA_REGISTRO);

      $this->list_acuerdo = TbAcuerdoPeer::doSelect($criteria);
      $this->cant_acuerdo = TbAcuerdoPeer::doCount($criteria);

  }


 public function returnIcon($filename)
{

        $extension =  substr(strrchr($filename, '.'), 1);

        if($extension=="docx" || $extension=="dotx" || $extension=="doc" )
        {
            return "img-file-word";
        }
        elseif($extension=="pptx" || $extension=="ppsx" || $extension=="potx" || $extension=="ppt" )
        {
            return "img-file-ppt";
        }
        elseif($extension=="xlsx" || $extension=="xltx" || $extension=="xls" )
        {
            return "img-file-excel";
        }
        elseif( $extension=="bmp" || $extension=="jpg" || $extension=="jpeg" || $extension=="png" || $extension=="gif" )
        {
            return "img-file-image";
        }

        elseif( $extension=="zip" || $extension=="rar" )
        {
            return "img-file-zip";
        }

        elseif( $extension=="pdf" || $extension=="xps")
         {
            return "img-file-pdf";

        }
        else
        {
             return "img-file-file";
        }


}



}
